/*
    bitmap数据结构实现
    使用
    bitmap_init(max_num, 0); //max_num 要排序的最大的数值
    for(int i=0; i < len; i++){ //len数组的长度
        bitmap_set(a[i]);
    }

    for(int i=0; i < max_num; i++){
        //返回到table中
        if(bitmap_get(i) > 0){
            int num = bitmap_data(i);
            printf("%d ", num);
        }
    }
    bitmap_free(); //释放内存
*/

#ifndef _XLIB_BITMAP_H_
#define _XLIB_BITMAP_H_

#include <string.h>
#include <memory.h>
#include <stdio.h>
#include <stdlib.h>

extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}

int bitmap_init(int size, int start); //初始化一个指定大小的bitmap

int bitmap_set(int index); //数据放入bitmap

int bitmap_get(int i); //指定位置的标记

int bitmap_data(int index); //指定位置的数据

void bitmap_free();



int get_bitmap(lua_State *L);


#endif